package br.com.cadastro.bean;


import br.com.cadastro.DAO.PessoaDAO;
import br.com.cadastro.entity.Pessoa;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;


@ManagedBean
@SessionScoped
public class PessoaBean implements Serializable {

    private Pessoa pessoa = new Pessoa();
    private PessoaDAO pessoaDao = new PessoaDAO();
    private List<Pessoa> listaPessoa;

    public PessoaBean() {
    }

    public List listarPessoa() {
        listaPessoa = pessoaDao.getList();
        return this.listaPessoa;
    }
    
    public String carregarPessoa(Pessoa p){
        this.pessoa = p;
        return "editar";
    }

    public String adicionarPessoa() {
        try {
            pessoaDao.addPessoa(pessoa);
            pessoa.setNome("");
            pessoa.setEmail("");
            pessoa.setTelefone("");

            return "index";
        } catch (Exception e) {
            e.printStackTrace();
            return "erro";
        }
    }

    public String removerPessoa(Pessoa p) {
        try {
            this.pessoa = p;
            pessoaDao.removePessoa(pessoa);
            pessoa.setNome("");
            pessoa.setEmail("");
            pessoa.setTelefone("");
            return "index";
        } catch (Exception e) {
            e.printStackTrace();
            return "erroremove";
        }
    }
    
    public String editarPessoa(){
        try {
            pessoaDao.updatePessoa(this.pessoa);
            pessoa.setNome(null);
            pessoa.setEmail(null);
            pessoa.setTelefone(null);
            return "index";
            
        } catch (Exception e) {
            e.printStackTrace();
            return "erroatualiza";
        }
    
    }

    public Pessoa getPessoa() {
        return pessoa;
    }

    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

}